/*
 * @Author: YCHOU
 * @Date: 2024-10-08 11:36:47
 */
#ifndef __MOTOR_H
#define __MOTOR_H

#include "main.h"

#define MOTOR_A         GPIO_PIN_13
#define MOTOR_B         GPIO_PIN_3
#define MOTOR_C         GPIO_PIN_7
#define MOTOR_D         GPIO_PIN_8

#define MOTOR_A_PROT       GPIOC
#define MOTOR_B_PROT       GPIOC
#define MOTOR_C_PROT       GPIOF
#define MOTOR_D_PROT       GPIOF



#define MOTOR_A_HIGH HAL_GPIO_WritePin(MOTOR_A_PROT,MOTOR_A,GPIO_PIN_SET)
#define MOTOR_A_LOW HAL_GPIO_WritePin(MOTOR_A_PROT,MOTOR_A,GPIO_PIN_RESET)
#define MOTOR_B_HIGH HAL_GPIO_WritePin(MOTOR_B_PROT,MOTOR_B,GPIO_PIN_SET)
#define MOTOR_B_LOW HAL_GPIO_WritePin(MOTOR_B_PROT,MOTOR_B,GPIO_PIN_RESET)
#define MOTOR_C_HIGH HAL_GPIO_WritePin(MOTOR_C_PROT,MOTOR_C,GPIO_PIN_SET)
#define MOTOR_C_LOW HAL_GPIO_WritePin(MOTOR_C_PROT,MOTOR_C,GPIO_PIN_RESET)
#define MOTOR_D_HIGH HAL_GPIO_WritePin(MOTOR_D_PROT,MOTOR_D,GPIO_PIN_SET)
#define MOTOR_D_LOW HAL_GPIO_WritePin(MOTOR_D_PROT,MOTOR_D,GPIO_PIN_RESET)


void MOTOR_Rhythm_4_1_4(uint8_t step,uint8_t dly);
void MOTOR_Direction(uint8_t dir,uint8_t num,uint8_t dly);
void MOTOR_Direction_Angle(uint8_t dir,uint8_t num,uint16_t angle,uint8_t dly);
void MOTOR_STOP(void);
#endif

